<?php
/**
 * <https://y.st./>
 * Copyright © 2018 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => '<code>assert()</code> has been disabled this whole time ...',
	'<{body}>' => <<<END
<img src="/img/CC_BY-SA_4.0/y.st./weblog/2018/08/31.jpg" alt="A tiny, man-made waterfall" class="framed-centred-image" width="649" height="480"/>
<section id="include.d">
	<h2><code>include.d</code></h2>
	<p>
		While at the $a[EUGLUG] meeting last night, I started work on the code that will scan my compiled files to see if I&apos;ve made any basic mistakes in character escaping on this website, or rather, mistakes by way of lack of escaping.
		I&apos;ll end up throwing out everything I did at the meeting and replacing it with a more robust finite state machine system, but first, I need to fix up my debug scripts for <code>include.d</code>, as <code>include.d</code> contains the new sanity check code for the website.
		I found while I was working that <code>assert()</code>ions aren&apos;t being properly evaluated.
	</p>
	<p>
		It turns out the <a href="https://secure.php.net/manual/en/function.assert.php"><code>zend.assertions</code></a> option has to be set to <code>1</code>.
		Otherwise, assertions are completely ignored.
		And it&apos;s set to <code>0</code> by default.
		Annoyingly, this option can&apos;t be set from within the script itself, as it&apos;s a compile-time setting, so it has to be set globally in the configuration files.
		Otherwise, <code>assert()</code> basically acts as a comment.
		It does nothing.
	</p>
	<p>
		With the setting fixed, I found my debug code no longer runs without error.
		Basically, it detected no errors in <code>include.d</code> before because it was skipping over all the tests.
		That&apos;s helpful.
		So now I&apos;ve got to go back and debug a bunch of things I thought I&apos;d already debugged.
		And best of all, I don&apos;t remember the details of how the code is <strong>*supposed*</strong> to work.
	</p>
</section>
<section id="exploration">
	<h2>Exploration</h2>
	<p>
		In trying to move things along, I decided to try to find the local $a[ISP]&apos;s store as my main goal for the day instead of dedicating most of the day to exploration of a path I&apos;ve been meaning to look down as I&apos;d previously planned.
		I&apos;d try the path on the way home.
		Since I was skipping the path I&apos;d wanted to explore on the way out, I was able to instead explore another path I&apos;d&apos;ve had to skip to get to the one I&apos;d been going to aim for.
		I had a pretty good idea this path would still lead me in the right direction, but I&apos;d never actually used the path.
		It turns out it&apos;s a longer path to the same place as the main path.
		It&apos;s like a scenic route or something.
	</p>
	<p>
		On the way back, I explored the initially-intended path, quickly finding a new branch to explore.
		I&apos;ll leave that branch for tomorrow though.
		There&apos;s just not enough time today.
		After passing this unexpected branch, I started to realise I&apos;d made a mistake in taking this path.
		I&apos;d always assumed it&apos;d reach Q Street if I went down it far enough, but I remembered along the way that Q Street wasn&apos;t long enough to intersect with this path, given it&apos;s position.
		I had no idea where this path would lead and it certainly wouldn&apos;t be useful to me in any way.
		I had to keep going though.
		It was an excuse to exercise, after all.
		When I got to the end, I found myself in an unfamiliar part of Eugene.
		I went down the street a bit to confirm what city I was even in, but then turned back, at which point I saw some familiar buildings.
		The street I was on was adjacent to one I use on rare occasions.
		I went down this other street a bit to confirm my location, then took the nearby overpass to get back to my own town.
		There, I found a familiar street name, and followed this street I&apos;d always passed, but never gone down, to reach right where I thought it would lead.
		Finally, I headed home.
	</p>
	<p>
		Today&apos;s exploration was a success, I suppose.
		I learned a bit more about the local paths and roads.
		I don&apos;t suspect to learn a whole lot from tomorrow&apos;s trip, but then again, the trip&apos;s purpose is exercise, not education.
	</p>
</section>
<section id="ISP">
	<h2>Dealing with the $a[ISP]</h2>
	<p>
		As I said, the midpoint for my trip today was the $a[ISP]&apos;s store.
		It&apos;s about where I thought it was, but last time I&apos;d looked, I didn&apos;t find it.
		I just didn&apos;t look quite far enough last time.
	</p>
	<p>
		Anyway, I talked to a representative there about how to register for service, and explained about how their website won&apos;t let me register for service without a telephone number.
		They explained that their company requires a telephone call before they&apos;ll activate the modem.
		They tried a few times to get me to find a way to use a telephone to set up service, such as borrowing a telephone, but when I said I couldn&apos;t do that, their solution was to send a technician down to do the setup, and the technician would make the call via mobile telephone.
		I asked how much having the technician come would cost, and they claimed that as a new customer, the fee would be waived.
		So long story short, the $a[ISP] would rather send over their technician on their own dime than allow modem activations via their website.
		Either that, or they were lying, and they&apos;ll actually charge me to send over the technician after all.
		I wouldn&apos;t put either past them.
	</p>
</section>
END
);
